.\" Copyright (C) 2000, 2001, 2004, 2005, 2007, 2014-2016, 2018-2020 Internet Systems Consortium, Inc. ("ISC")
.\" 
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
.\" file, You can obtain one at http://mozilla.org/MPL/2.0/.
.\"
.hy 0
.ad l
'\" t
.\"     Title: lwres_getnameinfo
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 2007-06-18
.\"    Manual: BIND9
.\"    Source: ISC
.\"  Language: English
.\"
.TH "LWRES_GETNAMEINFO" "3" "2007\-06\-18" "ISC" "BIND9"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
lwres_getnameinfo \- lightweight resolver socket address structure to hostname and service name
.SH "SYNOPSIS"
.sp
.ft B
.nf
#include <lwres/netdb\&.h>
.fi
.ft
.HP \w'int\ lwres_getnameinfo('u
.BI "int lwres_getnameinfo(const\ struct\ sockaddr\ *" "sa" ", size_t\ " "salen" ", char\ *" "host" ", size_t\ " "hostlen" ", char\ *" "serv" ", size_t\ " "servlen" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
This function is equivalent to the
\fBgetnameinfo\fR(3)
function defined in RFC2133\&.
\fBlwres_getnameinfo()\fR
returns the hostname for the
\fBstruct sockaddr\fR\fIsa\fR
which is
\fIsalen\fR
bytes long\&. The hostname is of length
\fIhostlen\fR
and is returned via
\fI*host\&.\fR
The maximum length of the hostname is 1025 bytes:
\fBNI_MAXHOST\fR\&.
.PP
The name of the service associated with the port number in
\fIsa\fR
is returned in
\fI*serv\&.\fR
It is
\fIservlen\fR
bytes long\&. The maximum length of the service name is
\fBNI_MAXSERV\fR
\- 32 bytes\&.
.PP
The
\fIflags\fR
argument sets the following bits:
.PP
\fBNI_NOFQDN\fR
.RS 4
A fully qualified domain name is not required for local hosts\&. The local part of the fully qualified domain name is returned instead\&.
.RE
.PP
\fBNI_NUMERICHOST\fR
.RS 4
Return the address in numeric form, as if calling inet_ntop(), instead of a host name\&.
.RE
.PP
\fBNI_NAMEREQD\fR
.RS 4
A name is required\&. If the hostname cannot be found in the DNS and this flag is set, a non\-zero error code is returned\&. If the hostname is not found and the flag is not set, the address is returned in numeric form\&.
.RE
.PP
\fBNI_NUMERICSERV\fR
.RS 4
The service name is returned as a digit string representing the port number\&.
.RE
.PP
\fBNI_DGRAM\fR
.RS 4
Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp"\&. This is required for the few ports (512\-514) that have different services for UDP and TCP\&.
.RE
.SH "RETURN VALUES"
.PP
\fBlwres_getnameinfo()\fR
returns 0 on success or a non\-zero error code if an error occurs\&.
.SH "SEE ALSO"
.PP
\fBRFC2133\fR(),
\fBgetservbyport\fR(3),
\fBlwres\fR(3),
\fBlwres_getnameinfo\fR(3),
\fBlwres_getnamebyaddr\fR(3)\&.
\fBlwres_net_ntop\fR(3)\&.
.SH "BUGS"
.PP
RFC2133 fails to define what the nonzero return values of
\fBgetnameinfo\fR(3)
are\&.
.SH "AUTHOR"
.PP
\fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT"
.br
Copyright \(co 2000, 2001, 2004, 2005, 2007, 2014-2016, 2018-2020 Internet Systems Consortium, Inc. ("ISC")
.br
